44 research outputs found
Simple, partial type-inference for System F based on type-containment
We explore partial type-inference for System F based on type-containment. We consider both cases of a purely functional semantics and a call-by-value stateful semantics. To enable type-inference, we require higher-rank polymorphism to be user-specified via type annotations on source terms. We allow implicit predicative type-containment and explicit impredicative type-instantiation. We obtain a core language that is both as expressive as System F and conservative over ML. Its type system has a simple logical specification and a partial type-reconstruction algorithm that are both very close to the ones for ML. We then propose a surface language where some annotations may be omitted and rebuilt by some algorithmically defined but logically incomplete elaboration mechanism
Un langage dédié à l'administration d'infrastructures virtualisées
Avec l Ă©mergence de l informatique dans les nuages, la capacitĂ© d hĂ©bergement des centres de donnĂ©es ne cesse d augmenter afin de rĂ©pondre Ă une demande de plus en plus forte. La gestion,appelĂ©e l administration, d un centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©-seau. Les outils de l Infrastructure As A Service tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, l administration d une infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche n est plus pertinente pour la gestion d infrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches d administration d infrastructures proposent l automatisation de certaines tĂąches d administration. L outil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©-pondre aux besoins d administration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, l outil propose aux administrateurs des opĂ©rations d introspection pour observer l organisation des ressources dĂ©ployĂ©es sur l infrastructure et les reconfigurations habituelles comme le dĂ©marrage, l arrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă partir de rĂšgles de placement. Ă partir de ces rĂšgles, l outil d administration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par l administrateur. Si une reconfiguration ou une rĂšgle est invalide,l outil dĂ©tecte un conflit et avertit l administrateur de l Ă©chec de l opĂ©ration. L outil d administration, Ă l aide d algorithmes d ordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques d ordonnancement comme la consolidation ou l Ă©quilibrage de charge.With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules.NANTES-ENS Mines (441092314) / SudocSudocFranceF
btrScript : a safe management system for virtualized data center
International audienceVirtual machine management in data centers is more and more complex and this is due to the increasing total number of virtual machines. Virtual machine resources and scheduled policies (e.g., consolidation) define the virtual machine placement. This placement is difficult to compute for large infrastructures. Administrators maintain a correct placement by performing actions (e.g., migrate virtual machines, power off servers...) and some time using autonomic schedulers. We propose btrScript: a safe autonomic system for virtual machine management that includes actions and placement rules. Actions are imperative operations to reconfigure the data center and declarative rules specify the virtual machine placement. Administrators schedule both actions and rules, to manage their data center(s). They can also interact with the btrScript system in order to monitor the data center and compute the correct virtual machine placement
Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests
We first propose algorithms for checking language equivalence of finite
automata over a large alphabet. We use symbolic automata, where the transition
function is compactly represented using a (multi-terminal) binary decision
diagrams (BDD). The key idea consists in computing a bisimulation by exploring
reachable pairs symbolically, so as to avoid redundancies. This idea can be
combined with already existing optimisations, and we show in particular a nice
integration with the disjoint sets forest data-structure from Hopcroft and
Karp's standard algorithm. Then we consider Kleene algebra with tests (KAT), an
algebraic theory that can be used for verification in various domains ranging
from compiler optimisation to network programming analysis. This theory is
decidable by reduction to language equivalence of automata on guarded strings,
a particular kind of automata that have exponentially large alphabets. We
propose several methods allowing to construct symbolic automata out of KAT
expressions, based either on Brzozowski's derivatives or standard automata
constructions. All in all, this results in efficient algorithms for deciding
equivalence of KAT expressions
8-oxo-7,8-dihydro-2'-deoxyguanosine as a biomarker of oxidative damage in oesophageal cancer patients: lack of association with antioxidant vitamins and polymorphism of hOGG1 and GST
International audienceThe present report was designed to investigate the origins of elevated oxidative stress measured in cancer patients in our previous work related to a case-control study (17 cases, 43 controls) on oesophageal cancers. The aim was to characterize the relationship between the levels of 8-oxo-7,8-dihydro-2'-deoxyguanosine (8-oxodG), antioxidant vitamins and genetic susceptibility
btrScript : a safe management system for virtualized data center
International audienceVirtual machine management in data centers is more and more complex and this is due to the increasing total number of virtual machines. Virtual machine resources and scheduled policies (e.g., consolidation) define the virtual machine placement. This placement is difficult to compute for large infrastructures. Administrators maintain a correct placement by performing actions (e.g., migrate virtual machines, power off servers...) and some time using autonomic schedulers. We propose btrScript: a safe autonomic system for virtual machine management that includes actions and placement rules. Actions are imperative operations to reconfigure the data center and declarative rules specify the virtual machine placement. Administrators schedule both actions and rules, to manage their data center(s). They can also interact with the btrScript system in order to monitor the data center and compute the correct virtual machine placement
A domain specific language for virtualized infrastructures
Avec lâĂ©mergence de lâinformatique dans les nuages, la capacitĂ© dâhĂ©bergement des centres de donnĂ©es ne cesse dâaugmenter afin de rĂ©pondre Ă une demande de plus en plus forte. La gestion, appelĂ©e lâadministration, dâun centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©seau. Les outils de « lâInfrastructure As A Service » tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, lâadministration dâune infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche nâest plus pertinente pour la gestion dâinfrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches dâadministration dâinfrastructures proposent lâautomatisation de certaines tĂąches dâadministration. Lâoutil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©pondre aux besoins dâadministration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, lâoutil propose aux administrateurs des opĂ©rations dâintrospection pour observer lâorganisation des ressources dĂ©ployĂ©es sur lâinfrastructure et les reconfigurations habituelles comme le dĂ©marrage, lâarrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă partir de rĂšgles de placement. Ă partir de ces rĂšgles, lâoutil dâadministration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par lâadministrateur. Si une reconfiguration ou une rĂšgle est invalide, lâoutil dĂ©tecte un conflit et avertit lâadministrateur de lâĂ©chec de lâopĂ©ration. Lâoutil dâadministration, Ă lâaide dâalgorithmes dâordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques dâordonnancement comme la consolidation ou lâĂ©quilibrage de charge.With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules
Un langage dédié à l'administration d'infrastructures virtualisées
With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules.Avec lâĂ©mergence de lâinformatique dans les nuages, la capacitĂ© dâhĂ©bergement des centres de donnĂ©es ne cesse dâaugmenter afin de rĂ©pondre Ă une demande de plus en plus forte. La gestion, appelĂ©e lâadministration, dâun centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©seau. Les outils de « lâInfrastructure As A Service » tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, lâadministration dâune infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche nâest plus pertinente pour la gestion dâinfrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches dâadministration dâinfrastructures proposent lâautomatisation de certaines tĂąches dâadministration. Lâoutil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©pondre aux besoins dâadministration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, lâoutil propose aux administrateurs des opĂ©rations dâintrospection pour observer lâorganisation des ressources dĂ©ployĂ©es sur lâinfrastructure et les reconfigurations habituelles comme le dĂ©marrage, lâarrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă partir de rĂšgles de placement. Ă partir de ces rĂšgles, lâoutil dâadministration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par lâadministrateur. Si une reconfiguration ou une rĂšgle est invalide, lâoutil dĂ©tecte un conflit et avertit lâadministrateur de lâĂ©chec de lâopĂ©ration. Lâoutil dâadministration, Ă lâaide dâalgorithmes dâordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques dâordonnancement comme la consolidation ou lâĂ©quilibrage de charge
10 The Essence of ML Type Inference 10.1 What Is ML?
The name ML appeared during the late seventies. It then referred to a generalpurpose programming language that was used as a meta-language (whence its name) within the theorem prover LCF (Gordon, Milner, and Wadsworth, 1979). Since then, several new programming languages, each of which offers several different implementations, have drawn inspiration from it. So, what does ML stand for today? For a semanticist, ML might stand for a programming language featuring first-class functions, data structures built out of products and sums, mutable memory cells called references, exception handling, automatic memory management, and a call-by-value semantics. This view encompasses the Standard ML (Milner, Tofte, and Harper, 1990) and Caml (Leroy, 2000) families of programming languages. We refer to it as ML-the-programming-language. For a type theorist, ML might stand for a particular breed of type systems, based on the simply-typed λ-calculus, but extended with a simple form of polymorphism introduced by let declarations. These type systems have decidabl